package models

import (
	"github.com/guregu/null"
	"gorm.io/gorm"
)

type LeaveWord struct {
	gorm.Model
	Id      int    `gorm:"column:id" json:"id"`
	Content string `gorm:"column:content" json:"content"`
	UserId  int    `gorm:"column:user_id" json:"userId"`
	IsCheck int    `gorm:"column:is_check;default:1" json:"isCheck"`
}
type LeaveWordVo struct {
	gorm.Model
	Id            int    `gorm:"column:id" json:"id"`
	Content       string `gorm:"column:content" json:"content"`
	UserId        int    `gorm:"column:user_id" json:"userId"`
	Nickname      string `gorm:"column:nickname" json:"nickname"`
	Avatar        string `gorm:"column:avatar" json:"avatar"`
	CommentCount  int    `gorm:"-" json:"commentCount"`
	LikeCount     int    `gorm:"-" json:"likeCount"`
	FavoriteCount int    `gorm:"-" json:"favoriteCount"`
	CreateTime    MyTime `gorm:"column:created_at" json:"createTime"`
}
type LeaveWordListVo struct {
	gorm.Model
	Id         int    `gorm:"column:id" json:"id"`
	UserName   string `gorm:"column:username" json:"userName"`
	Content    string `gorm:"column:content" json:"content"`
	IsCheck    int    `gorm:"column:is_check" json:"isCheck"`
	CreateTime MyTime `gorm:"column:created_at" json:"createTime"`
	UpdateTime MyTime `gorm:"column:updated_at" json:"updateTime"`
}
type SearchLeaveWordDto struct {
	Username  string   `gorm:"column:username" json:"userName"`
	IsCheck   null.Int `gorm:"column:is_check" json:"isCheck"`
	EndTime   MyTime   `gorm:"column:end_time" json:"endTime"`
	StartTime MyTime   `gorm:"column:start_time" json:"startTime"`
}
type LeaveWordIsCheckDto struct {
	Id      int `gorm:"column:id" json:"id"`
	IsCheck int `gorm:"column:is_check" json:"isCheck"`
}

func (table *LeaveWordVo) TableName() string {
	return "t_leave_word"
}
func (table *LeaveWord) TableName() string {
	return "t_leave_word"
}
func (table *LeaveWordListVo) TableName() string {
	return "t_leave_word"
}
